Skip to content

docs(changelog): record the compatibility gate in 3.2.0 - #432

Merged
ChuckBuilds merged 1 commit into
mainfrom
docs/changelog-3.2.0-gate
Aug 3, 2026
Merged

docs(changelog): record the compatibility gate in 3.2.0#432
ChuckBuilds merged 1 commit into
mainfrom
docs/changelog-3.2.0-gate

Conversation

@ChuckBuilds

Copy link
Copy Markdown
Owner

Last step before tagging v3.2.0. Documentation only, no version bump — 3.2.0 is unreleased, so this describes the release being cut rather than a new one.

Why this isn't a routine changelog omission

The 3.2.0 section described the unified sports library but none of the install-path work from #428 and #431. That matters more than usual here, because the sunset rule keys on this section to tell plugin authors what flooring at a given version actually buys them.

The headline addition:

This is also the first release that enforces ledmatrix_min_version. Before it, the floor was advisory — the loader logged a warning and continued, and the plugin store never compared the core version at all, so an update could deliver a plugin that could not run.

That is precisely the property B6 waits on, and it now sits where a plugin author will look for it — including the consequence that B6 waits for 3.2.0 to be widely installed, not merely released.

It also records the deliberate exception, which is easy to mistake for a bug later: a core reporting below 2.0.0 is treated as unknown rather than old and is never blocked, because v3.1.0 ships __version__ = "1.0.0" while nearly every manifest floors at 2.0.0.

Also recorded

  • src/plugin_system/compatibility.py — and explicitly that it does not yet read compatible_versions, the schema-required field that can express upper bounds
  • scripts/check_release_version.py + the Release version check workflow, with the reason it exists (v3.1.0 tagged six weeks before the version string was bumped)
  • The install-preservation fix — a failed install no longer destroys the plugin it replaced
  • The reentrant-lock fix — the deadlock that would have hung every plugin update
  • web_interface.__version__ re-export

Verified

test_version_consistency passes (5), and scripts/check_release_version.py v3.2.0 reports tag, CHANGELOG and src.__version__ all agree against this tree.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Udr6MfaFLUPhX5Fgo67Jf5

The 3.2.0 section described the unified sports library but none of the
install-path work that landed in #428 and #431 -- which matters more than a
normal changelog omission, because the sunset rule keys on this section to
tell plugin authors what a given floor buys them.

The headline addition: 3.2.0 is the first release that *enforces*
ledmatrix_min_version. Before it the floor was advisory, so a plugin could
declare one and still be delivered to a core that could not run it. That is
the property B6 waits on, and it is now stated where a plugin author will
look for it -- along with the caveat that a core reporting below 2.0.0 is
treated as unknown rather than old and is never blocked.

Also records compatibility.py (and that it does not yet read
compatible_versions), check_release_version.py and its workflow, the
install-preservation fix, the reentrant-lock deadlock fix, and the
web_interface version re-export.

No version bump: 3.2.0 is unreleased, so this describes the release being
cut rather than a new one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Udr6MfaFLUPhX5Fgo67Jf5
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@ChuckBuilds, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 23 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4e94ae94-04b5-481a-bda5-9832d6e29f82

📥 Commits

Reviewing files that changed from the base of the PR and between 970ca2d and 183e23e.

📒 Files selected for processing (1)
  • CHANGELOG.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ChuckBuilds

Copy link
Copy Markdown
Owner Author

Landed directly on main as 183e23emain requires no reviews or status checks, so a PR added process without adding signal for a CHANGELOG body edit. The content is unchanged from what was reviewed here.

@ChuckBuilds
ChuckBuilds merged commit 183e23e into main Aug 3, 2026
8 of 9 checks passed
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant